home *** CD-ROM | disk | FTP | other *** search
/ Gamers Delight 2 / Gamers Delight 2.iso / Aminet / game / role / SRunMatGen.lha / Gfx.c < prev    next >
C/C++ Source or Header  |  1994-06-13  |  14KB  |  388 lines

  1. /*********************************/
  2. /* MatrixGenerator für ShadowRun */
  3. /* written by Thomas Reinhardt   */
  4. /*                               */
  5. /* Draw-Funktionen der Grafik    */
  6. /* Special-Amiga-Routinen        */
  7. /*********************************/
  8. #include <time.h>
  9. #include <math.h>
  10. #include <string.h>
  11. #include <exec/interrupts.h>
  12. #include <exec/libraries.h>
  13. #include <exec/lists.h>
  14. #include <exec/memory.h>
  15. #include <exec/nodes.h>
  16. #include <exec/ports.h>
  17. #include <exec/types.h>
  18. #include <intuition/intuition.h>
  19. #include <libraries/dos.h>
  20. #include <libraries/dosextens.h>
  21. #include <proto/dos.h>
  22. #include <proto/exec.h>
  23. #include <proto/graphics.h>
  24. #include <proto/intuition.h>
  25. #include <proto/gadtools.h>
  26. #include <proto/diskfont.h>
  27. #include <stdio.h>
  28. #include <stdlib.h>
  29.  
  30. #include "MatrixGen.h"
  31. #include "all.h"
  32.  
  33. extern LONG SaveNamePointer;
  34. extern struct IntuitionBase *IntuitionBase;
  35. extern struct GfxBase *GfxBase;
  36. extern struct Library *DosBase;
  37. extern struct NewScreen MyNewScreen;
  38. extern struct Screen *MyScreen;
  39. extern struct BitMapHeader BMHD;
  40. extern struct ColorRegister Colors[16];
  41. extern struct CommodoreAmiga CAMG;
  42. extern LONG Len,xi,yi,b;
  43. extern ULONG ChunkLen;
  44. extern char *WohinDamit;
  45. extern char GfxName[255];
  46. extern char StatusName[255];
  47. extern char StandardName[255];
  48. extern char DatenFeld[255];
  49. extern BOOL success,AllDone;
  50. extern int i;
  51. extern char inread[5];
  52. extern int cBitmaps,AnzahlKnoten,AusgangsKnoten,AnzahlWichtigeDaten,Stufenwert;
  53. extern int MaxSAN;
  54. extern UBYTE xPos,yPos,MaxFarben,Language,OutputType;
  55. extern struct MatrixKomponenten Matrix[12*12];
  56. extern struct MatrixGenType MatrixDatas[1];
  57. extern BOOL CPUInSystem,Beenden,RandomDSValue;
  58. extern BOOL Zufallsstufen,KeineDatenspeicher,StatusFile,PrefsFile,BlaueKnoten;
  59. extern BOOL Schatten,SaveDatenfeld,InstallNoIC,AlwaysICInfo;
  60. extern UBYTE AnzahlCPU,AnzahlSPU,AnzahlDS,AnzahlSAN,AnzahlSN,AnzahlIOP,AnzahlBlueNodes;
  61.  
  62. void DrawCPU(ULONG xx,ULONG yy,UBYTE farbe){
  63.     SetAPen(&MyScreen->RastPort,farbe);
  64.     Move(&MyScreen->RastPort,xx,yy);
  65.     Draw(&MyScreen->RastPort,xx+5,yy-10);
  66.     Draw(&MyScreen->RastPort,xx+25,yy-10);
  67.     Draw(&MyScreen->RastPort,xx+30,yy);
  68.     Draw(&MyScreen->RastPort,xx+25,yy+10);
  69.     Draw(&MyScreen->RastPort,xx+5,yy+10);
  70.     Draw(&MyScreen->RastPort,xx,yy);
  71.     Move(&MyScreen->RastPort,xx+2,yy);
  72.     Draw(&MyScreen->RastPort,xx+6,yy-8);
  73.     Draw(&MyScreen->RastPort,xx+24,yy-8);
  74.     Draw(&MyScreen->RastPort,xx+28,yy);
  75.     Draw(&MyScreen->RastPort,xx+24,yy+8);
  76.     Draw(&MyScreen->RastPort,xx+6,yy+8);
  77.     Draw(&MyScreen->RastPort,xx+2,yy);
  78.     if(Schatten==TRUE){
  79.         SetAPen(&MyScreen->RastPort,15);
  80.         Move(&MyScreen->RastPort,xx+11,yy+13);
  81.         Draw(&MyScreen->RastPort,xx+29,yy+13);
  82.         Move(&MyScreen->RastPort,xx+10,yy+12);
  83.         Draw(&MyScreen->RastPort,xx+30,yy+12);
  84.         Move(&MyScreen->RastPort,xx+9,yy+11);
  85.         Draw(&MyScreen->RastPort,xx+30,yy+11);
  86.         Move(&MyScreen->RastPort,xx+26,yy+10);
  87.         Draw(&MyScreen->RastPort,xx+31,yy+10);
  88.         Move(&MyScreen->RastPort,xx+26,yy+9);
  89.         Draw(&MyScreen->RastPort,xx+31,yy+9);
  90.         Move(&MyScreen->RastPort,xx+27,yy+8);
  91.         Draw(&MyScreen->RastPort,xx+32,yy+8);
  92.         Move(&MyScreen->RastPort,xx+27,yy+7);
  93.         Draw(&MyScreen->RastPort,xx+32,yy+7);
  94.         Move(&MyScreen->RastPort,xx+28,yy+6);
  95.         Draw(&MyScreen->RastPort,xx+33,yy+6);
  96.         Move(&MyScreen->RastPort,xx+28,yy+5);
  97.         Draw(&MyScreen->RastPort,xx+33,yy+5);
  98.         Move(&MyScreen->RastPort,xx+29,yy+4);
  99.         Draw(&MyScreen->RastPort,xx+34,yy+4);
  100.         Move(&MyScreen->RastPort,xx+29,yy+3);
  101.         Draw(&MyScreen->RastPort,xx+34,yy+3);
  102.         Move(&MyScreen->RastPort,xx+30,yy+2);
  103.         Draw(&MyScreen->RastPort,xx+33,yy+2);
  104.         Move(&MyScreen->RastPort,xx+30,yy+1);
  105.         Draw(&MyScreen->RastPort,xx+33,yy+1);
  106.         Move(&MyScreen->RastPort,xx+31,yy);
  107.         Draw(&MyScreen->RastPort,xx+32,yy);
  108.         Move(&MyScreen->RastPort,xx+31,yy-1);
  109.         Draw(&MyScreen->RastPort,xx+32,yy-1);
  110.         Move(&MyScreen->RastPort,xx+30,yy-2);
  111.         Draw(&MyScreen->RastPort,xx+31,yy-2);
  112.         Move(&MyScreen->RastPort,xx+30,yy-3);
  113.         Draw(&MyScreen->RastPort,xx+31,yy-3);
  114.         Move(&MyScreen->RastPort,xx+29,yy-4);
  115.         Draw(&MyScreen->RastPort,xx+30,yy-4);
  116.         Move(&MyScreen->RastPort,xx+29,yy-5);
  117.         Draw(&MyScreen->RastPort,xx+30,yy-5);
  118.         Move(&MyScreen->RastPort,xx+28,yy-6);
  119.         Draw(&MyScreen->RastPort,xx+29,yy-6);
  120.         Move(&MyScreen->RastPort,xx+28,yy-7);
  121.         Draw(&MyScreen->RastPort,xx+29,yy-7);
  122.         }
  123.     }
  124.  
  125. void DrawSPU(ULONG xx,ULONG yy,UBYTE farbe){
  126.     SetAPen(&MyScreen->RastPort,farbe);
  127.     Move(&MyScreen->RastPort,xx,yy);
  128.     Draw(&MyScreen->RastPort,xx+5,yy-10);
  129.     Draw(&MyScreen->RastPort,xx+25,yy-10);
  130.     Draw(&MyScreen->RastPort,xx+30,yy);
  131.     Draw(&MyScreen->RastPort,xx+25,yy+10);
  132.     Draw(&MyScreen->RastPort,xx+5,yy+10);
  133.     Draw(&MyScreen->RastPort,xx,yy);
  134.     if(Schatten==TRUE){
  135.         SetAPen(&MyScreen->RastPort,15);
  136.         Move(&MyScreen->RastPort,xx+11,yy+13);
  137.         Draw(&MyScreen->RastPort,xx+29,yy+13);
  138.         Move(&MyScreen->RastPort,xx+10,yy+12);
  139.         Draw(&MyScreen->RastPort,xx+30,yy+12);
  140.         Move(&MyScreen->RastPort,xx+9,yy+11);
  141.         Draw(&MyScreen->RastPort,xx+30,yy+11);
  142.         Move(&MyScreen->RastPort,xx+26,yy+10);
  143.         Draw(&MyScreen->RastPort,xx+31,yy+10);
  144.         Move(&MyScreen->RastPort,xx+26,yy+9);
  145.         Draw(&MyScreen->RastPort,xx+31,yy+9);
  146.         Move(&MyScreen->RastPort,xx+27,yy+8);
  147.         Draw(&MyScreen->RastPort,xx+32,yy+8);
  148.         Move(&MyScreen->RastPort,xx+27,yy+7);
  149.         Draw(&MyScreen->RastPort,xx+32,yy+7);
  150.         Move(&MyScreen->RastPort,xx+28,yy+6);
  151.         Draw(&MyScreen->RastPort,xx+33,yy+6);
  152.         Move(&MyScreen->RastPort,xx+28,yy+5);
  153.         Draw(&MyScreen->RastPort,xx+33,yy+5);
  154.         Move(&MyScreen->RastPort,xx+29,yy+4);
  155.         Draw(&MyScreen->RastPort,xx+34,yy+4);
  156.         Move(&MyScreen->RastPort,xx+29,yy+3);
  157.         Draw(&MyScreen->RastPort,xx+34,yy+3);
  158.         Move(&MyScreen->RastPort,xx+30,yy+2);
  159.         Draw(&MyScreen->RastPort,xx+33,yy+2);
  160.         Move(&MyScreen->RastPort,xx+30,yy+1);
  161.         Draw(&MyScreen->RastPort,xx+33,yy+1);
  162.         Move(&MyScreen->RastPort,xx+31,yy);
  163.         Draw(&MyScreen->RastPort,xx+32,yy);
  164.         Move(&MyScreen->RastPort,xx+31,yy-1);
  165.         Draw(&MyScreen->RastPort,xx+32,yy-1);
  166.         Move(&MyScreen->RastPort,xx+30,yy-2);
  167.         Draw(&MyScreen->RastPort,xx+31,yy-2);
  168.         Move(&MyScreen->RastPort,xx+30,yy-3);
  169.         Draw(&MyScreen->RastPort,xx+31,yy-3);
  170.         Move(&MyScreen->RastPort,xx+29,yy-4);
  171.         Draw(&MyScreen->RastPort,xx+30,yy-4);
  172.         Move(&MyScreen->RastPort,xx+29,yy-5);
  173.         Draw(&MyScreen->RastPort,xx+30,yy-5);
  174.         Move(&MyScreen->RastPort,xx+28,yy-6);
  175.         Draw(&MyScreen->RastPort,xx+29,yy-6);
  176.         Move(&MyScreen->RastPort,xx+28,yy-7);
  177.         Draw(&MyScreen->RastPort,xx+29,yy-7);
  178.         }
  179.     }
  180.  
  181. void DrawSN(ULONG xx,ULONG yy,UBYTE farbe){
  182.     SetAPen(&MyScreen->RastPort,farbe);
  183.     Move(&MyScreen->RastPort,xx,yy);
  184.     DrawEllipse(&MyScreen->RastPort,xx+15,yy,10,10);
  185.     if(Schatten==TRUE){
  186.         SetAPen(&MyScreen->RastPort,15);
  187.         Move(&MyScreen->RastPort,xx+19,yy+13);
  188.         Draw(&MyScreen->RastPort,xx+25,yy+13);
  189.         Move(&MyScreen->RastPort,xx+17,yy+12);
  190.         Draw(&MyScreen->RastPort,xx+27,yy+12);
  191.         Move(&MyScreen->RastPort,xx+16,yy+11);
  192.         Draw(&MyScreen->RastPort,xx+28,yy+11);
  193.         Move(&MyScreen->RastPort,xx+19,yy+10);
  194.         Draw(&MyScreen->RastPort,xx+29,yy+10);
  195.         Move(&MyScreen->RastPort,xx+21,yy+9);
  196.         Draw(&MyScreen->RastPort,xx+30,yy+9);
  197.         Move(&MyScreen->RastPort,xx+22,yy+8);
  198.         Draw(&MyScreen->RastPort,xx+31,yy+8);
  199.         Move(&MyScreen->RastPort,xx+23,yy+7);
  200.         Draw(&MyScreen->RastPort,xx+31,yy+7);
  201.         Move(&MyScreen->RastPort,xx+24,yy+6);
  202.         Draw(&MyScreen->RastPort,xx+32,yy+6);
  203.         Move(&MyScreen->RastPort,xx+25,yy+5);
  204.         Draw(&MyScreen->RastPort,xx+32,yy+5);
  205.         Move(&MyScreen->RastPort,xx+25,yy+4);
  206.         Draw(&MyScreen->RastPort,xx+32,yy+4);
  207.         Move(&MyScreen->RastPort,xx+26,yy+3);
  208.         Draw(&MyScreen->RastPort,xx+32,yy+3);
  209.         Move(&MyScreen->RastPort,xx+26,yy+2);
  210.         Draw(&MyScreen->RastPort,xx+32,yy+2);
  211.         Move(&MyScreen->RastPort,xx+26,yy+1);
  212.         Draw(&MyScreen->RastPort,xx+32,yy+1);
  213.         Move(&MyScreen->RastPort,xx+26,yy);
  214.         Draw(&MyScreen->RastPort,xx+32,yy);
  215.         Move(&MyScreen->RastPort,xx+26,yy-1);
  216.         Draw(&MyScreen->RastPort,xx+31,yy-1);
  217.         Move(&MyScreen->RastPort,xx+26,yy-2);
  218.         Draw(&MyScreen->RastPort,xx+31,yy-2);
  219.         Move(&MyScreen->RastPort,xx+26,yy-3);
  220.         Draw(&MyScreen->RastPort,xx+30,yy-3);
  221.         Move(&MyScreen->RastPort,xx+25,yy-4);
  222.         Draw(&MyScreen->RastPort,xx+29,yy-4);
  223.         Move(&MyScreen->RastPort,xx+25,yy-5);
  224.         Draw(&MyScreen->RastPort,xx+28,yy-5);
  225.         Move(&MyScreen->RastPort,xx+24,yy-6);
  226.         Draw(&MyScreen->RastPort,xx+26,yy-6);
  227.         }
  228.     }
  229.  
  230. void DrawSAN(ULONG xx,ULONG yy,UBYTE farbe){
  231.     SetAPen(&MyScreen->RastPort,farbe);
  232.     Move(&MyScreen->RastPort,xx,yy-5);
  233.     Draw(&MyScreen->RastPort,xx+30,yy-5);
  234.     Draw(&MyScreen->RastPort,xx+30,yy+5);
  235.     Draw(&MyScreen->RastPort,xx,yy+5);
  236.     Draw(&MyScreen->RastPort,xx,yy-5);
  237.     if(Schatten==TRUE){
  238.         SetAPen(&MyScreen->RastPort,15);
  239.         Move(&MyScreen->RastPort,xx+4,yy+8);
  240.         Draw(&MyScreen->RastPort,xx+33,yy+8);
  241.         Move(&MyScreen->RastPort,xx+4,yy+7);
  242.         Draw(&MyScreen->RastPort,xx+33,yy+7);
  243.         Move(&MyScreen->RastPort,xx+4,yy+6);
  244.         Draw(&MyScreen->RastPort,xx+33,yy+6);
  245.         Move(&MyScreen->RastPort,xx+31,yy+5);
  246.         Draw(&MyScreen->RastPort,xx+33,yy+5);
  247.         Move(&MyScreen->RastPort,xx+31,yy+4);
  248.         Draw(&MyScreen->RastPort,xx+33,yy+4);
  249.         Move(&MyScreen->RastPort,xx+31,yy+3);
  250.         Draw(&MyScreen->RastPort,xx+33,yy+3);
  251.         Move(&MyScreen->RastPort,xx+31,yy+2);
  252.         Draw(&MyScreen->RastPort,xx+33,yy+2);
  253.         Move(&MyScreen->RastPort,xx+31,yy+1);
  254.         Draw(&MyScreen->RastPort,xx+33,yy+1);
  255.         Move(&MyScreen->RastPort,xx+31,yy);
  256.         Draw(&MyScreen->RastPort,xx+33,yy);
  257.         Move(&MyScreen->RastPort,xx+31,yy-1);
  258.         Draw(&MyScreen->RastPort,xx+33,yy-1);
  259.         Move(&MyScreen->RastPort,xx+31,yy-2);
  260.         Draw(&MyScreen->RastPort,xx+33,yy-2);
  261.         }
  262.     }
  263.  
  264. void DrawIOP(ULONG xx,ULONG yy,UBYTE farbe){
  265.     SetAPen(&MyScreen->RastPort,farbe);
  266.     Move(&MyScreen->RastPort,xx,yy+10);
  267.     Draw(&MyScreen->RastPort,xx+15,yy-10);
  268.     Draw(&MyScreen->RastPort,xx+30,yy+10);
  269.     Draw(&MyScreen->RastPort,xx,yy+10);
  270.     if(Schatten==TRUE){
  271.         SetAPen(&MyScreen->RastPort,15);
  272.         Move(&MyScreen->RastPort,xx+4,yy+13);
  273.         Draw(&MyScreen->RastPort,xx+34,yy+13);
  274.         Move(&MyScreen->RastPort,xx+5,yy+12);
  275.         Draw(&MyScreen->RastPort,xx+33,yy+12);
  276.         Move(&MyScreen->RastPort,xx+6,yy+11);
  277.         Draw(&MyScreen->RastPort,xx+33,yy+11);
  278.         Move(&MyScreen->RastPort,xx+31,yy+10);
  279.         Draw(&MyScreen->RastPort,xx+32,yy+10);
  280.         Move(&MyScreen->RastPort,xx+30,yy+9);
  281.         Draw(&MyScreen->RastPort,xx+31,yy+9);
  282.         Move(&MyScreen->RastPort,xx+30,yy+8);
  283.         Draw(&MyScreen->RastPort,xx+31,yy+8);
  284.         Move(&MyScreen->RastPort,xx+29,yy+7);
  285.         Draw(&MyScreen->RastPort,xx+30,yy+7);
  286.         Move(&MyScreen->RastPort,xx+28,yy+6);
  287.         Draw(&MyScreen->RastPort,xx+29,yy+6);
  288.         Move(&MyScreen->RastPort,xx+27,yy+5);
  289.         Draw(&MyScreen->RastPort,xx+28,yy+5);
  290.         Move(&MyScreen->RastPort,xx+27,yy+4);
  291.         Draw(&MyScreen->RastPort,xx+28,yy+4);
  292.         Move(&MyScreen->RastPort,xx+26,yy+3);
  293.         Draw(&MyScreen->RastPort,xx+27,yy+3);
  294.         Move(&MyScreen->RastPort,xx+25,yy+2);
  295.         Draw(&MyScreen->RastPort,xx+26,yy+2);
  296.         Move(&MyScreen->RastPort,xx+24,yy+1);
  297.         Draw(&MyScreen->RastPort,xx+25,yy+1);
  298.         Move(&MyScreen->RastPort,xx+24,yy);
  299.         Draw(&MyScreen->RastPort,xx+25,yy);
  300.         Move(&MyScreen->RastPort,xx+23,yy-1);
  301.         Draw(&MyScreen->RastPort,xx+24,yy-1);
  302.         Move(&MyScreen->RastPort,xx+22,yy-2);
  303.         Draw(&MyScreen->RastPort,xx+23,yy-2);
  304.         Move(&MyScreen->RastPort,xx+21,yy-3);
  305.         Draw(&MyScreen->RastPort,xx+22,yy-3);
  306.         Move(&MyScreen->RastPort,xx+21,yy-4);
  307.         Draw(&MyScreen->RastPort,xx+22,yy-4);
  308.         Move(&MyScreen->RastPort,xx+20,yy-5);
  309.         Draw(&MyScreen->RastPort,xx+21,yy-5);
  310.         Move(&MyScreen->RastPort,xx+20,yy-6);
  311.         Draw(&MyScreen->RastPort,xx+20,yy-6);
  312.         }
  313.     }
  314.  
  315. void DrawDS(ULONG xx,ULONG yy,UBYTE farbe){
  316.     SetAPen(&MyScreen->RastPort,farbe);
  317.     Move(&MyScreen->RastPort,xx+5,yy-10);
  318.     Draw(&MyScreen->RastPort,xx+25,yy-10);
  319.     Draw(&MyScreen->RastPort,xx+25,yy+10);
  320.     Draw(&MyScreen->RastPort,xx+5,yy+10);
  321.     Draw(&MyScreen->RastPort,xx+5,yy-10);
  322.     if(Schatten==TRUE){
  323.         SetAPen(&MyScreen->RastPort,15);
  324.         Move(&MyScreen->RastPort,xx+8,yy+13);
  325.         Draw(&MyScreen->RastPort,xx+28,yy+13);
  326.         Move(&MyScreen->RastPort,xx+8,yy+12);
  327.         Draw(&MyScreen->RastPort,xx+28,yy+12);
  328.         Move(&MyScreen->RastPort,xx+8,yy+11);
  329.         Draw(&MyScreen->RastPort,xx+28,yy+11);
  330.         Move(&MyScreen->RastPort,xx+26,yy+10);
  331.         Draw(&MyScreen->RastPort,xx+28,yy+10);
  332.         Move(&MyScreen->RastPort,xx+26,yy+9);
  333.         Draw(&MyScreen->RastPort,xx+28,yy+9);
  334.         Move(&MyScreen->RastPort,xx+26,yy+8);
  335.         Draw(&MyScreen->RastPort,xx+28,yy+8);
  336.         Move(&MyScreen->RastPort,xx+26,yy+7);
  337.         Draw(&MyScreen->RastPort,xx+28,yy+7);
  338.         Move(&MyScreen->RastPort,xx+26,yy+6);
  339.         Draw(&MyScreen->RastPort,xx+28,yy+6);
  340.         Move(&MyScreen->RastPort,xx+26,yy+5);
  341.         Draw(&MyScreen->RastPort,xx+28,yy+5);
  342.         Move(&MyScreen->RastPort,xx+26,yy+4);
  343.         Draw(&MyScreen->RastPort,xx+28,yy+4);
  344.         Move(&MyScreen->RastPort,xx+26,yy+3);
  345.         Draw(&MyScreen->RastPort,xx+28,yy+3);
  346.         Move(&MyScreen->RastPort,xx+26,yy+2);
  347.         Draw(&MyScreen->RastPort,xx+28,yy+2);
  348.         Move(&MyScreen->RastPort,xx+26,yy+1);
  349.         Draw(&MyScreen->RastPort,xx+28,yy+1);
  350.         Move(&MyScreen->RastPort,xx+26,yy);
  351.         Draw(&MyScreen->RastPort,xx+28,yy);
  352.         Move(&MyScreen->RastPort,xx+26,yy-1);
  353.         Draw(&MyScreen->RastPort,xx+28,yy-1);
  354.         Move(&MyScreen->RastPort,xx+26,yy-2);
  355.         Draw(&MyScreen->RastPort,xx+28,yy-2);
  356.         Move(&MyScreen->RastPort,xx+26,yy-3);
  357.         Draw(&MyScreen->RastPort,xx+28,yy-3);
  358.         Move(&MyScreen->RastPort,xx+26,yy-4);
  359.         Draw(&MyScreen->RastPort,xx+28,yy-4);
  360.         Move(&MyScreen->RastPort,xx+26,yy-5);
  361.         Draw(&MyScreen->RastPort,xx+28,yy-5);
  362.         Move(&MyScreen->RastPort,xx+26,yy-6);
  363.         Draw(&MyScreen->RastPort,xx+28,yy-6);
  364.         Move(&MyScreen->RastPort,xx+26,yy-7);
  365.         Draw(&MyScreen->RastPort,xx+28,yy-7);
  366.         }
  367.     }
  368.  
  369. void DrawLinie(ULONG xStart,ULONG yStart,ULONG xEnd,ULONG yEnd){
  370.     SetAPen(&MyScreen->RastPort,1);
  371.     Move(&MyScreen->RastPort,xStart+15,yStart);
  372.     Draw(&MyScreen->RastPort,xEnd+15,yEnd);
  373.     }
  374.  
  375. void DrawIC(ULONG xx,ULONG yy){
  376.     SetAPen(&MyScreen->RastPort,1);
  377.     Move(&MyScreen->RastPort,xx-1,yy-2);
  378.     Draw(&MyScreen->RastPort,xx-1,yy-3);
  379.     Move(&MyScreen->RastPort,xx+1,yy-2);
  380.     Draw(&MyScreen->RastPort,xx+1,yy-3);
  381.     Move(&MyScreen->RastPort,xx,yy-4);
  382.     Draw(&MyScreen->RastPort,xx,yy-6);
  383.     Move(&MyScreen->RastPort,xx-2,yy-4);
  384.     Draw(&MyScreen->RastPort,xx-1,yy-5);
  385.     Move(&MyScreen->RastPort,xx+2,yy-4);
  386.     Draw(&MyScreen->RastPort,xx+1,yy-5);
  387.     }
  388.